Skip to content

Add rebased Aptos CRE common and loop support#1896

Draft
cawthorne wants to merge 5 commits intomainfrom
feature/aptos-local-cre-minimal-write
Draft

Add rebased Aptos CRE common and loop support#1896
cawthorne wants to merge 5 commits intomainfrom
feature/aptos-local-cre-minimal-write

Conversation

@cawthorne
Copy link
Contributor

@cawthorne cawthorne commented Mar 13, 2026

Summary

  • rebase the Aptos CRE common changes on top of the latest default branch
  • preserve the working Aptos read-capability baseline from the earlier local CRE stack
  • retain only the shared compatibility needed by the write path

What changed

  • added the Aptos service and loop typing needed by the CRE integration path
  • retained LedgerVersion support used by the Aptos read flow
  • kept the shared Aptos conversion helpers and tests
  • kept the transmitter-bytes compatibility used by the write path
  • refreshed the generated Aptos protobuf / gRPC outputs to match the rebased interfaces

Why

The Aptos local CRE stack needs the common Aptos loop/service surface from the earlier read-capability work, plus the shared compatibility pieces consumed by the write path. This PR keeps that layer narrow so downstream repos do not need to reach around chainlink-common.

Testing

  • ran:
    • go test ./pkg/types/chains/aptos ./pkg/loop/internal/relayer ./pkg/loop/internal/relayerset ./pkg/loop/internal/core/services/capability -count=1

@cawthorne cawthorne changed the title Feature/aptos local cre minimal write Add rebased Aptos CRE common and loop support Mar 13, 2026
@github-actions
Copy link

github-actions bot commented Mar 13, 2026

⚠️ API Diff Results - github.com/smartcontractkit/chainlink-common

⚠️ Breaking Changes (3)

pkg/chains/aptos.AptosClient (1)
  • LedgerVersion — ➕ Added
pkg/types/chains/aptos.Client (2)
  • LedgerVersion — ➕ Added

  • LedgerVersion — ➕ Added

✅ Compatible Changes (40)

pkg/capabilities/v2/chain-capabilities/aptos (5)
  • ReceiverContractExecutionStatus — ➕ Added

  • ReceiverContractExecutionStatus_name — ➕ Added

  • ReceiverContractExecutionStatus_RECEIVER_CONTRACT_EXECUTION_STATUS_REVERTED — ➕ Added

  • ReceiverContractExecutionStatus_RECEIVER_CONTRACT_EXECUTION_STATUS_SUCCESS — ➕ Added

  • ReceiverContractExecutionStatus_value — ➕ Added

pkg/capabilities/v2/chain-capabilities/aptos.(*ViewRequest) (1)
  • GetLedgerVersion — ➕ Added
pkg/capabilities/v2/chain-capabilities/aptos.(*WriteReportReply) (1)
  • GetReceiverContractExecutionStatus — ➕ Added
pkg/capabilities/v2/chain-capabilities/aptos.ViewRequest (1)
  • LedgerVersion — ➕ Added
pkg/capabilities/v2/chain-capabilities/aptos.WriteReportReply (1)
  • ReceiverContractExecutionStatus — ➕ Added
pkg/chains/aptos (3)
  • Aptos_LedgerVersion_FullMethodName — ➕ Added

  • LedgerVersionReply — ➕ Added

  • LedgerVersionRequest — ➕ Added

pkg/chains/aptos.(*SubmitTransactionReply) (1)
  • GetTransactionFee — ➕ Added
pkg/chains/aptos.(*ViewRequest) (1)
  • GetLedgerVersion — ➕ Added
pkg/chains/aptos.AptosServer (1)
  • LedgerVersion — ➕ Added
pkg/chains/aptos.SubmitTransactionReply (1)
  • TransactionFee — ➕ Added
pkg/chains/aptos.UnimplementedAptosServer (1)
  • LedgerVersion — ➕ Added
pkg/chains/aptos.ViewRequest (1)
  • LedgerVersion — ➕ Added
pkg/types.(*UnimplementedAptosService) (1)
  • LedgerVersion — ➕ Added
pkg/types/chains/aptos (16)
  • ClassifyWriteVmStatus — ➕ Added

  • ReceiverExecutionStatus — ➕ Added

  • ReceiverExecutionStatusReverted — ➕ Added

  • ReceiverExecutionStatusSuccess — ➕ Added

  • ReceiverExecutionStatusUnknown — ➕ Added

  • ViewPayloadFromCapability — ➕ Added

  • WriteFailureClassification — ➕ Added

  • WriteFailureDecision — ➕ Added

  • WriteFailureDecisionAlreadyProcessed — ➕ Added

  • WriteFailureDecisionRetryable — ➕ Added

  • WriteFailureDecisionTerminal — ➕ Added

  • WriteFailureKind — ➕ Added

  • WriteFailureKindAlreadyProcessed — ➕ Added

  • WriteFailureKindForwarderRejected — ➕ Added

  • WriteFailureKindReceiverReverted — ➕ Added

  • WriteFailureKindUnknown — ➕ Added

pkg/types/chains/aptos.SubmitTransactionReply (1)
  • TransactionFee — ➕ Added
pkg/types/chains/aptos.ViewRequest (1)
  • LedgerVersion — ➕ Added
pkg/types/mocks (1)
  • AptosService_LedgerVersion_Call — ➕ Added
pkg/types/mocks.(*AptosService) (1)
  • LedgerVersion — ➕ Added
pkg/types/mocks.(*AptosService_Expecter) (1)
  • LedgerVersion — ➕ Added

📄 View full apidiff report

@github-actions
Copy link

📊 API Diff Results

No changes detected for module github.com/smartcontractkit/chainlink-common/pkg/monitoring

View full report

@github-actions
Copy link

📊 API Diff Results

No changes detected for module github.com/smartcontractkit/chainlink-common/keystore

View full report

…dapters

- Aptos service protos and LedgerVersion RPC
- Loop relayer and relayerset Aptos adapters
- Capability registry transmitter hex decode and tests
- ViewPayloadFromCapability and capability_convert helpers
- Solana proto regen guard for missing source
- Generated mocks and types
- ClassifyWriteVmStatus for retryable/terminal/already-processed
- WriteFailureClassification and known non-Move VM status handling
- Tests for write_status normalization and edge cases
- Regenerate aptos and evm chain-capabilities client.pb.go
- go.mod/go.sum updates for chainlink-protos and tooling
@cawthorne cawthorne force-pushed the feature/aptos-local-cre-minimal-write branch from 618e65e to 435e3f3 Compare March 16, 2026 11:30
TxStatus TransactionStatus
TxHash string
TxIdempotencyKey string
TransactionFee *uint64
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dont need this

TxStatus tx_status = 1;
string tx_hash = 2;
string tx_idempotency_key = 3;
optional uint64 transaction_fee = 4;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dont need this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants